Bar code scanners are used extensively in commercial applications such as scanning grocery items at a supermarket, or tracking parts in a warehouse environment. The scanners are typically a stationary unit, like the type at a supermarket checkout counter, a scanner tethered to a computer by a cable, or a handheld unit that a user can walk around with and scan items where they are stored (on a warehouse shelf for instance). The data from the scanned bar code is usually transmitted by wired or wireless mediums to an application program running on a local computer.
Many scanning systems, which include a scanner, a computer and software running on the computer for receiving the scanned information, provide the user some form of audible or visual feedback. Depending on the sophistication of the scanning system, the messages conveyed by such feedback range from a simple confirmation that a particular scan was error free to messages providing a user with detailed system status messages and prompts for scanning activity by the user.
Many business operations, such as shipping and receiving operations for example, demand an efficient and accurate method of capturing data relating to those operations. Instead of supplying the required data by entering keystrokes, which is a slow method and susceptible to human error, a bar code scanner is often used to scan a label containing the required information in an encoded format. However, many computer software applications for such operations are designed to accept only keyboard input. To enable entry of bar code data into data fields for such a keyboard-based application program, a device called a “wedge” is used. Typically the wedge is a hardware device incorporating bar code scanning equipment, and placed between the keyboard and the keyboard input port on a terminal or computer. The function of the wedge is to translate or convert the bar code data into keystroke data, because that is what is expected by standard keyboard-based applications. In other words, the hardware wedge emulates keystrokes.
Some fully-integrated scanning systems, which include expensive custom, non-standard software applications, are designed to receive scanner input without using a hardware wedge. Such systems typically provide users with more extensive feedback than merely indicating that a scan was successful or the scanner is ready for a new scan like some traditional hardware wedges. These systems traditionally have displays for presenting a user with prompts and other kinds of feedback. However, such systems will not work with standard keyboard-based applications, which require a wedge, and hardware wedges themselves do not have the capability to generate sophisticated messages to the user because the keyboard ports that hardware wedges connect to are uni-directional. In other words, a traditional hardware wedge passes data in only one direction; from the port or scanner to the keystroke input buffer. Therefore, hardware wedges are not able to interact with a keyboard-based application to transmit messages to the user. Also, the form of message conveyed to a user from a hardware wedge is typically limited to a simple pattern of tones and/or flashing lights.
Accordingly, there is a need for a keystroke output wedge that can perform the keystroke emulation function of a standard hardware wedge, but can also provide the user a wide variety of sophisticated natural language messages without having to create custom software or modify a standard keyboard-based software application that is designed to receive keystroke data inputs.